package com.core.zyyz.amc.modules.service.impl;

import java.util.Date;
import java.util.List;

import com.core.common.core.domain.model.LoginUser;
import com.core.common.utils.SecurityUtils;
import com.core.common.utils.uuid.UUID;
import com.core.zyyz.pcmc.domain.PcmcUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.stereotype.Service;
import com.core.zyyz.amc.modules.mapper.AmcPubTabDMapper;
import com.core.zyyz.amc.modules.domain.AmcPubTabD;
import com.core.zyyz.amc.modules.service.AmcPubTabDService;

/**
 * 公共页签Service业务层处理
 *
 * @author LiuFushun
 * @date 2024-11-19
 */
@Service
public class AmcPubTabDServiceImpl implements AmcPubTabDService
{
    @Autowired
    private AmcPubTabDMapper amcPubTabDMapper;

    /**
     * 查询公共页签
     *
     * @param tabId 公共页签主键
     * @return 公共页签
     */
    @Override
    public AmcPubTabD selectAmcPubTabDByTabId(String tabId)
    {
        return amcPubTabDMapper.selectAmcPubTabDByTabId(tabId);
    }

    /**
     * 查询公共页签列表
     *
     * @param amcPubTabD 公共页签
     * @return 公共页签
     */
    @Override
    public List<AmcPubTabD> selectAmcPubTabDList(AmcPubTabD amcPubTabD)
    {
        return amcPubTabDMapper.selectAmcPubTabDList(amcPubTabD);
    }

    /**
     * 新增公共页签
     *
     * @param amcPubTabD 公共页签
     * @return 结果
     */
    @Override
    public int insertAmcPubTabD(AmcPubTabD amcPubTabD) {
       //获取登录人信息
       PcmcUser user = (PcmcUser)SecurityContextHolder.getContext().getAuthentication().getPrincipal();
        amcPubTabD.setTabId(UUID.randomUUID().toString());
        amcPubTabD.setCreatedBy(user.getCreateBy());
        amcPubTabD.setCreationDate(new Date());
        return amcPubTabDMapper.insertAmcPubTabD(amcPubTabD);
    }

    /**
     * 修改公共页签
     *
     * @param amcPubTabD 公共页签
     * @return 结果
     */
    @Override
    public int updateAmcPubTabD(AmcPubTabD amcPubTabD)
    {
        return amcPubTabDMapper.updateAmcPubTabD(amcPubTabD);
    }

    /**
     * 批量删除公共页签
     *
     * @param tabIds 需要删除的公共页签主键
     * @return 结果
     */
    @Override
    public int deleteAmcPubTabDByTabIds(String[] tabIds)
    {
        return amcPubTabDMapper.deleteAmcPubTabDByTabIds(tabIds);
    }

    /**
     * 删除公共页签信息
     *
     * @param tabId 公共页签主键
     * @return 结果
     */
    @Override
    public int deleteAmcPubTabDByTabId(String tabId)
    {
        return amcPubTabDMapper.deleteAmcPubTabDByTabId(tabId);
    }
}
